//package com.zhihuiyanche.common.util;
//
//import java.net.URLEncoder;
//
//import net.sf.json.JSONObject;
//
///**
// * 第三方网页授权
// */
//public class WechatThridTokenUtil
//{
//	/**
//	 * 返回用户授权：用户同意授权，获取code的url地址
//	 * 
//	 * @param appid
//	 * @param redirectUri
//	 * @param scope
//	 *            网页授权作用域为snsapi_userinfo
//	 * @param state
//	 * @return 
//	 *         http://zhangxv89.imwork.net/tzxsaas/pages/weixin/front2/wallet/my_card
//	 *         .jsp
//	 */
//	@SuppressWarnings("deprecation")
//	public static String getAuthorizeUrl(String appid, String redirectUri, String scope, String state)
//	{
//		String authorize_url = "https://open.weixin.qq.com/connect/oauth2/authorize?";
//		if (MyUtil.checkEmpty(appid) && MyUtil.checkEmpty(redirectUri) && MyUtil.checkEmpty(scope))
//		{
//			authorize_url += "appid=" + appid;
//			authorize_url += "&redirect_uri=" + URLEncoder.encode(redirectUri);
//			authorize_url += "&response_type=code";
//			authorize_url += "&scope=" + scope;
//			if (MyUtil.checkEmpty(state))
//			{
//				authorize_url += "&state=" + state;
//			}
//			authorize_url += "#wechat_redirect";
//			return authorize_url;
//		}
//		return null;
//	}
//
//	/**
//	 * 通过code换取网页授权access_token
//	 * 
//	 * @param appid
//	 *            公众号的appid
//	 * @param component_appid
//	 *            //第三方的appid
//	 * @param code
//	 *            //前文中获取的code
//	 * @param component_access_token
//	 *            //第三方的token
//	 * @return
//	 * @throws Exception
//	 */
//	public static JSONObject getAccessToken(String appid, String component_appid, String code, String component_access_token) throws Exception
//	{
//		// String tokenUrl =
//		// "https://api.weixin.qq.com/sns/oauth2/access_token?";、https://api.weixin.qq.com/sns/oauth2/component/access_token?
//		String tokenUrl = "https://api.weixin.qq.com/sns/oauth2/component/access_token?";
//		if (MyUtil.checkEmpty(appid) && MyUtil.checkEmpty(component_appid) && MyUtil.checkEmpty(code) && MyUtil.checkEmpty(component_access_token))
//		{
//			// tokenUrl +=
//			// "appid="+appid+"&secret="+secret+"&code="+code+"&grant_type=authorization_code";
//			tokenUrl += "appid=" + appid + "&code=" + code + "&grant_type=authorization_code&component_appid=" + component_appid + "&component_access_token=" + component_access_token;
//		}
//		String requestResult = HttpUtil.getRequest(tokenUrl, "UTF-8");
//		System.out.println("requestResult:" + requestResult);
//		if (MyUtil.checkEmpty(requestResult))
//		{
//			JSONObject json = JSONObject.fromObject(requestResult);
//			// 错误时微信会返回JSON数据包如下（示例为Code无效错误）:{"errcode":40029,"errmsg":"invalid code"}
//			if (!json.containsKey("errcode"))
//			{
//				return json;
//			}
//		}
//		return null;
//	}
//
//	/**
//	 * 静默获取微信用户的信息，需要关注公众账号、并且接口调用有次数限制
//	 * 
//	 * @param accessToken
//	 * @param openId
//	 * @return
//	 * @throws Exception
//	 */
//	public static JSONObject getUserInfoByOpenId(String accessToken, String openId) throws Exception
//	{
//		String user_info = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN";
//		user_info = user_info.replace("ACCESS_TOKEN", accessToken);
//		user_info = user_info.replace("OPENID", openId);
//		String requestResult = HttpUtil.getRequest(user_info, "UTF-8");
//		if (MyUtil.checkEmpty(requestResult))
//		{
//			JSONObject json = JSONObject.fromObject(requestResult);
//			// 错误时微信会返回JSON数据包如下{"errcode":40013,"errmsg":"invalid appid"}
//			if (!json.containsKey("errcode"))
//			{
//				return json;
//			}
//		}
//		return null;
//	}
//
//	/**
//	 * 显性状态下获取用户信息（不需要关注公众账号）
//	 * 
//	 * @param accessToken
//	 * @param openId
//	 * @return
//	 * @throws Exception
//	 */
//	public static JSONObject getUserInfo(String accessToken, String openId) throws Exception
//	{
//		String user_info = "https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN";
//		user_info = user_info.replace("ACCESS_TOKEN", accessToken);
//		user_info = user_info.replace("OPENID", openId);
//		String requestResult = HttpUtil.getRequest(user_info, "UTF-8");
//		if (MyUtil.checkEmpty(requestResult))
//		{
//			JSONObject json = JSONObject.fromObject(requestResult);
//			// 错误时微信会返回JSON数据包如下{"errcode":40003,"errmsg":" invalid openid "}
//			if (!json.containsKey("errcode"))
//			{
//				return json;
//			}
//		}
//		return null;
//	}
//}
